1. Field of the Invention
The present invention relates to peripheral control systems in a computer system, and more particularly to an apparatus for automatically setting the addresses of a large number of disk devices using a Small Computer System Interface (SCSI) bus.
2. Description of the Related Art
Disk drives and controllers for personal computers have been developed that utilize the SCSI bus standard for control and transfer of data to be stored. SCSI bus-based mass storage systems typically use a large number of disk drives to achieve the required data capacities. As is well known, the SCSI serial interface takes roles of a connection path that transfers commands issued by the computer to many peripheral devices. The controlling of the peripheral device is performed by the controller embedded in the same peripheral device. Therefore, the SCSI interface acts like a "network card" and provides features of error detection and restoration, detecting and controlling of data collision, and communication with the other devices. Also, there are benefits to distributing data across a large number of smaller capacity drives including faster average access time, higher data transfer rate (usually 8.about.40 Mbyte/sec), improved mass storage system reliability, and reduced data loss in the event of a drive failure.
In an earlier SCSI bus-based mass storage system, a SCSI bus interconnects a SCSI controller with peripheral devices. The SCSI controller includes a host adaptor which is in communication with a computer, and the peripheral devices commonly include their own controllers In this storage system, the peripheral devices are usually hard disk drives, and may include CD-ROM drives. According to the SCSI-I standard, only eight device addresses are possible, that is, one host controller and seven peripheral devices. If more than seven peripheral devices are required, multiple host controllers must be added to the mass storage system. Meanwhile, those peripheral devices (hereinafter "SCSI devices" or "devices") report their SCSI address ID to the computer system via the SCSI bus in the computer booting process. Each SCSI address ID is set by a jumper setting and therefore the SCSI devices commonly include jumper setting blocks. Each jumper setting block usually has a 3-bit jumper block. Therefore, in the event of adding an SCSI device in the computer system, it is difficult for users to set the SCSI address ID by hand, and the jumper setting procedure required at every addition of the SCSI device is annoying and time-consuming.
To overcome the limitation of the number of SCSI devices, the SCSI-II standard has been established which allows the device addressing to be increased to a limit of sixteen devices. Further, a method for sharing device addresses between different devices on the SCSI bus to thereby increase the number of devices that can utilize the bus has been disclosed in U.S. Pat. No. 5,367,647 of Coulson et al. The sharing is SCSI address ID number between the SCSI host adaptor and a SCSI device controller on the bus.
While the number of addressable SCSI devices is remarkably increased, the manual jumper setting for the SCSI address ID and serviceability problems remain.
The Dixon et al., Jones and Savage patents, U.S. Pat. Nos. 5,175,822, 5,511,227, and 5,613,158, respectively entitled Apparatus And Method For Assigning Addresses To SCSI Supported Peripheral Devices, Method For Configuring A Composite Drive For A Disk Drive Array Controller, and System For Specifying Addresses By Creating A Multi-Bit Ranked Ordered Anchor Pattern And Creating Next Address By Shifting In The Direction Of The Superior Position, each disclose techniques for assigning addresses to devices on a SCSI bus. However none of these patents teaches or suggests the specific apparatus of the present invention.
The following patents each discloses features in common with the present invention but are not as pertinent as the three patents noted above: U.S. Pat. No. 5,283,872 to Ohnishi, entitled SCSI Device Having Transfer Parameter Storage Memory Blocks Which Correspond To Each Apparatus, U.S. Pat. No. 5,530,831 to Akiyama et al., entitled Interchangeable Extension Board Disk Array System, U.S. Pat. No. 5,530,895 to Enstrom, entitled System And Method For Computer Interface Board Identification By Serially Comparing Identification Address Bits And Asserting complementary Logic Patterns For Each Match, U.S. Pat. No. 5,530,896 to Gilbert, entitled Appliance Control Process For Matching Slave Units To Control Units And For Automatically Assigning Addresses To The Slave Units, U.S. Pat. No. 5,535,336 to Smith et al; entitled Apparatus And Method For Enabling A Network Interface To Dynamically Assign An Address To A Connected Computer And To Establish A Virtual Circuit With Another Network Interface, U.S. Pat. No. 5,551,053 to Nadolski et al., entitled System And Method For Assigning Addresses To I/O Devices In A Control Network And For Verifying The Assigned Address Of The Devices, U.S. Pat. No. 4,964,038 to Louis et al.,entitled Data Processing System Having Automatic Address Allocation Arrangements For Addressing Interface Cards, U.S. Pat. No. 5,497,466 to Roden et al., entitled Universal Address Generator, and U.S. Pat. No. 5,239,632 to Lamer, entitled Device To Translate Logical Unit Number Communications On One SCSI Bus To ID Communications On A Subordinate SCSI Bus.